﻿/*
=============================================================================
Author:魏宝辉通过CodeSmithe生成
CreatedTime:2012-10-21
Description:UserList.aspx.cs页面代码
=============================================================================	
*/

using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using FineUI;
using FTchina.Logic;
using FTchina.Library;
using FTchina.Models;
using System.Collections.Generic;
public partial class UserListaction : BasePage
{

    bool Isdpt = false;//默认添加为员工。不是部门

    protected void Page_Load(object sender, EventArgs e)
    {
        Isdpt = RequestHelper.SafeRequest(Request["Isdpt"]) == "1";

        if (!IsPostBack)
        {
            ViewState["FileName"] = this.GetHashCode().ToString();//获取
            LoadData();

            string id = RequestHelper.SafeRequest(Request["id"]);
            if (id.Length > 0)
            {
                ShowModData(id);
            }
        }
        if (Isdpt)
        {
            txbUname.Label = "部门名称";

            txbuid.Label = "部门编码";
        }

    }


    private void LoadData()
    {

        // 关闭按钮的客户端脚本：
        // 1. 首先确认窗体中表单是否被修改（如果已经被修改，则弹出是否关闭的确认对话框）
        // 2. 然后关闭本窗体，回发父窗体
        btnClose.OnClientClick = ActiveWindow.GetConfirmHidePostBackReference();

        btnLink.OnClientClick = Window1.GetShowReference("/ui/UserSelector.aspx?SelectorType=dpt&FileName=" + (string)ViewState["FileName"]);

    }
    private void ShowModData(string ItemID)
    {
        FTchina.Models.UserList mUserList = FTchina.BLL.UserListManager.GetUserListById(Convert.ToInt32(ItemID));
        if (mUserList != null)
        {
            txbid.Text = mUserList.Id.ToString();

            txbUname.Text = mUserList.UName.ToString();
            txbuid.Text = mUserList.UID.ToString();

            txbpaixu.Text = mUserList.Paixu.ToString();
            txbParentId.Text = mUserList.ParentID.ToString();
            lblParent.Text = UserListLogic.getParentItemNameByParentID(mUserList.ParentID);
        }
        else
        {
            AlertLogic.ShowResultAndRedirect("无数据！", "提示", HttpContext.Current.Request.Path.ToString(), false);
        }
    }
    protected void btnSaveContinue_Click(object sender, EventArgs e)
    {
        if (txbParentId.Text.Length == 0)
        {
            AlertLogic.ShowError("请选择用户归属部门");
            return;
        }

        if (txbid.Text == txbParentId.Text)
        {
            AlertLogic.ShowError("不能将自身作为父级菜单，请重新选择");
            return;
        }

        bool AddNew = RequestHelper.SafeRequest(Request["id"]).Length == 0 ? true : false;//设置是否新增 

        FTchina.Models.UserList mUserList = new FTchina.Models.UserList();

        mUserList.Id = txbid.Text.Trim() == "" ? 0 : Convert.ToInt32(txbid.Text);

        mUserList.ParentID = Convert.ToInt32(txbParentId.Text);
        mUserList.UName = txbUname.Text.Trim();
        mUserList.Paixu = Convert.ToDecimal(txbpaixu.Text.Trim());
        mUserList.UID = this.txbuid.Text;
        mUserList.IsDpt = Isdpt ? "1" : "0";

        int x = 2;
        UserListLogic.getTreeLevel(mUserList.ParentID.ToString(), ref x);
        mUserList.TreeLevel = x.ToString();

        AlertLogic.ShowResult(FTchina.BLL.UserListManager.AddOrUpdateUserList(mUserList) > 0);



        //}
        if (!AddNew)
        {//修改已有项目
            //重新计算所有IDs的treeLevel
            UserListLogic.setReferMenuIdsTreeLevel(txbid.Text.Trim());
        }

        // 1. 这里放置保存窗体中数据的逻辑


        // 2. 关闭本窗体，然后回发父窗体
        PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
    }
    //protected void btnSaveRefresh_Click(object sender, EventArgs e)
    //{
    //    // 1. 这里放置保存窗体中数据的逻辑

    //    // 2. 关闭本窗体，然后刷新父窗体
    //    PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
    //}


    protected void Window1_Close(object sender, EventArgs e)
    {
        List<UserList> list = UserListLogic.ReadListFromBinary((string)ViewState["FileName"]);
        foreach (UserList uitem in list)
        {
            txbParentId.Text = uitem.Id.ToString();
            lblParent.Text = uitem.UName;
        }

    }



}






